Manufacturers usually sell products to various retailers at different prices. Some of these manufacturers manufacture a large number (for example, hundreds, thousands, or more) of products, and have numerous (for example, hundreds, thousands, or more) of retailers as their customers to whom they sell the products. In one example, a chocolate company may sell their chocolates to various retailers. Typically, such companies (for example, the chocolate company) desire selling each product (for example, a particular chocolate) to different retailers at different prices. The manufacturer thus needs to determine prices that the manufacturer should charge for each product (for example, each type/brand of chocolate) when sold to each eligible retailer. Authorized personnel at the manufacturer manually determine these prices. However, as the number of products and/or retailers becomes large (for example, ten or more), such manual determining of prices can consume a significant amount of time and can be labor intensive.
In some conventional implementations, all data associated with the products and retailers is traditionally stored in large computing arrays, and retrieved by searching the computing arrays. However, this storage in the computing arrays is inefficient, and occupies a lot of space in the memory while leaving some space unusable. Moreover, searching these computing arrays takes a lot of time.
To cure some of the deficiencies of storing data in large computing arrays, some other traditional implementations store data (for example, products and retailers) in hierarchical tree structures. To parse such hierarchical tree structures, a search process implements a conventional tree parsing algorithm to search for the desired data. However, to search for the data in the hierarchical tree structures, the tree parsing algorithm parses through each and every node of the hierarchical tree structures, which can be inefficient and significantly time consuming. Moreover, when there are multiple hierarchical tree structures to be parsed in order to find the search result, the search process becomes slower with each additional hierarchical tree structure.
Accordingly, there exists a need for generating data structures that enable a prompt retrieval of data stored in hierarchical structures while avoiding the use of time-consuming conventional tree parsing algorithms.